package net.zjitc.storehouse;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * 11/12作业：
 * 1.p123 移动盘子最小次数的公式（考点）
 * 2.p123页代码写一遍
 */
public class CH04_04 {

    public static void main(String[] args) throws IOException {
        int j;
        int count;
        String str;
        BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("请输入盘子的数量:");
        str=keyin.readLine();
        j=Integer.parseInt(str);
        hanoi(j,1,2,3);
        motion(j);
    }

    private static void motion(int j) {
        //1.p123 移动盘子最小次数的公式（考点）
        int min=j*j-1;
        System.out.println("移动的最少次数为"+min);
    }


    private static void hanoi(int j, int i, int i1, int i2) {
        //p123页代码写一遍
        if (j==1){
            System.out.println("盘子从"+i+"移动到"+i2);

        }else {
            hanoi(j-1,i,i2,i1);
            System.out.println("盘子从"+i+"移动到"+i2);
            hanoi(j-1,i1,i,i2);

        }
    }
}
